package com.bsoft.gol.hcs.specialist.entity;

import javax.persistence.*;
import java.sql.Timestamp;

@Entity
@Table(name = "editor_questionnaire")
public class EditorQuestionnaireEntity {
    private String questionnaireId;
    private String questionnaireName;
    private String questionnaireCode;
    private String questionnaireVersion;
    private Timestamp questionnaireDate;
    private byte questionnaireState;
    private byte questionnaireFlag;
    private String deptId;
    private String deptName;
    private Integer createId;
    private Timestamp createTime;

    @Id
    @Column(name = "questionnaire_id")
    public String getQuestionnaireId() {
        return questionnaireId;
    }

    public void setQuestionnaireId(String questionnaireId) {
        this.questionnaireId = questionnaireId;
    }

    @Basic
    @Column(name = "questionnaire_name")
    public String getQuestionnaireName() {
        return questionnaireName;
    }

    public void setQuestionnaireName(String questionnaireName) {
        this.questionnaireName = questionnaireName;
    }

    @Basic
    @Column(name = "questionnaire_code")
    public String getQuestionnaireCode() {
        return questionnaireCode;
    }

    public void setQuestionnaireCode(String questionnaireCode) {
        this.questionnaireCode = questionnaireCode;
    }

    @Basic
    @Column(name = "questionnaire_version")
    public String getQuestionnaireVersion() {
        return questionnaireVersion;
    }

    public void setQuestionnaireVersion(String questionnaireVersion) {
        this.questionnaireVersion = questionnaireVersion;
    }

    @Basic
    @Column(name = "questionnaire_date")
    public Timestamp getQuestionnaireDate() {
        return questionnaireDate;
    }

    public void setQuestionnaireDate(Timestamp questionnaireDate) {
        this.questionnaireDate = questionnaireDate;
    }

    @Basic
    @Column(name = "questionnaire_state")
    public byte getQuestionnaireState() {
        return questionnaireState;
    }

    public void setQuestionnaireState(byte questionnaireState) {
        this.questionnaireState = questionnaireState;
    }

    @Basic
    @Column(name = "questionnaire_flag")
    public byte getQuestionnaireFlag() {
        return questionnaireFlag;
    }

    public void setQuestionnaireFlag(byte questionnaireFlag) {
        this.questionnaireFlag = questionnaireFlag;
    }

    @Basic
    @Column(name = "dept_id")
    public String getDeptId() {
        return deptId;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    @Basic
    @Column(name = "dept_name")
    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    @Basic
    @Column(name = "create_id")
    public Integer getCreateId() {
        return createId;
    }

    public void setCreateId(Integer createId) {
        this.createId = createId;
    }

    @Basic
    @Column(name = "create_time")
    public Timestamp getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        EditorQuestionnaireEntity that = (EditorQuestionnaireEntity) o;

        if (questionnaireState != that.questionnaireState) {
            return false;
        }
        if (questionnaireFlag != that.questionnaireFlag) {
            return false;
        }
        if (questionnaireId != null ? !questionnaireId.equals(that.questionnaireId) : that.questionnaireId != null) {
            return false;
        }
        if (questionnaireName != null ? !questionnaireName.equals(that.questionnaireName) : that.questionnaireName != null) {
            return false;
        }
        if (questionnaireCode != null ? !questionnaireCode.equals(that.questionnaireCode) : that.questionnaireCode != null) {
            return false;
        }
        if (questionnaireVersion != null ? !questionnaireVersion.equals(that.questionnaireVersion) : that.questionnaireVersion != null) {
            return false;
        }
        if (questionnaireDate != null ? !questionnaireDate.equals(that.questionnaireDate) : that.questionnaireDate != null) {
            return false;
        }
        if (deptId != null ? !deptId.equals(that.deptId) : that.deptId != null) {
            return false;
        }
        if (deptName != null ? !deptName.equals(that.deptName) : that.deptName != null) {
            return false;
        }
        if (createId != null ? !createId.equals(that.createId) : that.createId != null) {
            return false;
        }
        if (createTime != null ? !createTime.equals(that.createTime) : that.createTime != null) {
            return false;
        }

        return true;
    }

    @Override
    public int hashCode() {
        int result = questionnaireId != null ? questionnaireId.hashCode() : 0;
        result = 31 * result + (questionnaireName != null ? questionnaireName.hashCode() : 0);
        result = 31 * result + (questionnaireCode != null ? questionnaireCode.hashCode() : 0);
        result = 31 * result + (questionnaireVersion != null ? questionnaireVersion.hashCode() : 0);
        result = 31 * result + (questionnaireDate != null ? questionnaireDate.hashCode() : 0);
        result = 31 * result + (int) questionnaireState;
        result = 31 * result + (int) questionnaireFlag;
        result = 31 * result + (deptId != null ? deptId.hashCode() : 0);
        result = 31 * result + (deptName != null ? deptName.hashCode() : 0);
        result = 31 * result + (createId != null ? createId.hashCode() : 0);
        result = 31 * result + (createTime != null ? createTime.hashCode() : 0);
        return result;
    }
}
